#pragma once

class EventTick;
class EventOrder;
class EventTrade;
class EventPosition;

struct IStrategy // Visitor 接口，针对每个element类型定义一个操作
{
	virtual void OnEvent(const EventTick& event) = 0;
	virtual void OnEvent(const EventOrder& event) = 0;
	virtual void OnEvent(const EventTrade& event) = 0;
	virtual void OnEvent(const EventPosition& event) = 0;
};